package com.cnbot.canapp.listener.healthy;


import com.cnbot.canapp.listener.base.IBaseCANDataResultListener;

/**
 * 描述：健康传感器板事件监听
 * 作者：dc on 2018/6/12 16:55
 * 邮箱：597210600@qq.com
 */
public interface HealthyListener extends IBaseCANDataResultListener {

	/**
	 * @descriptoin	体温结果回调事件
	 * @author dc
	 * @param temp 体温值
	 * @date 2018/6/12 16:58
	 */
	void tempListener(double temp);

	/**
	 * @descriptoin	血压结果回调事件
	 * @author	dc
	 * @param hp 高压
	 *           @param lp 低压
	 *                     @param heart 心率
	 * @date 2018/6/12 17:01
	 */
	void bpListener(double hp, double lp, double heart);

	/**
	 * @descriptoin	血氧结果回调事件
	 * @author	dc
	 * @param bo 血氧
	 *           @param heart 心率
	 * @date 2018/6/12 17:02
	 */
	void boListener(double bo, double heart);

	/**
	 * @descriptoin	心电结果回调事件
	 * @author	dc
	 * @param ecg 心电值
	 * @date 2018/6/12 17:03
	 */
	void ecgListener(double ecg);

	/**
	 * @descriptoin	血糖测量状态
	 * @author	dc
	 * @param status  ICANCode.BUF_BLOOD_SUGAR_PAPER_STATUS_CODE //血糖试纸插入状态上报
	 *                ICANCode.BUF_BLOOD_SUGAR_BLOOD_STATUS_CODE //血糖血液滴入状态上报
	 * @date 2018/11/8 10:15
	 * @return
	 * @deprecated
	 * @see #bsBloodDripListener()
	 * @see #bsPaperInsertListener()
	 */
	void bsStatusListener(byte status);

	/**
	 * @descriptoin	试纸插入状态
	 * @author	ww
	 * @date 2018/11/21
	 * @return
	 */
	void bsPaperInsertListener();

	/**
	 * @descriptoin	血液滴入状态
	 * @author	ww
	 * @date 2018/11/8 10:15
	 * @return
	 */
	void bsBloodDripListener();

	/**
	 * @descriptoin	血糖检测倒计时上报
	 * @author	dc
	 * @param countDown 倒计时
	 * @date 2018/11/8 10:22
	 */
	void bsCountDownListener(int countDown);

	/**
	 * @descriptoin	血糖测量结果上报
	 * @author	dc
	 * @param bsResult 血糖测量结果
	 * @date 2018/11/8 10:23
	 */
	void bsResultListener(double bsResult);

	/**
	 * @descriptoin	停止测量回调接口
	 * @author	dc
	 * @date 2018/11/8 9:41
	 */
	void stopMessaureListener();

	/**
	 * @descriptoin	按钮按下指令
	 * @author	dc
	 * @param btnType
	 * @date 2018/11/8 11:22
	 * @deprecated
	 * @see IFunctionKeyListener
	 */
	void btnDownListener(byte btnType);

	/**
	 * @descriptoin	统一的回复指令（主要包括：体征测量、关机等控制指令）都在此回调方法中处理，根据参数判断指令回复类型
	 * @author	dc
	 * @param replyToken 回复指令类型
	 * @date 2018/11/13 19:24
	 */
	void tokenReplyListener(int replyToken);

	/**
	 * @descriptoin	心跳指令
	 * @author	dc
	 * @date 2018/11/13 20:17
	 */
	void heartbeatListener();

}
